package top.huxy.boot.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import top.huxy.boot.model.entity.Tag;
import top.huxy.boot.model.vo.VOTag;

import java.util.List;

@Mapper
@Repository
public interface TagMapper {
    int updateTag(Tag tag);

    int addStringTag(String text,long createTime);

    /**
     * 根据tag查询tag对应id
     * @param tag
     * @return
     */
    int queryTagId(String tag);

    /**
     * 获取博文id=id的所有标签id
     * @param id
     * @return
     */
    List<Integer> getTagsIdByBlogId(Integer id);

    List<Tag> getTagsByArticleId(Integer articleId);

    List<String> getTagsNameByBlogId(Integer id);

    /**
     * 博客是否有名为tagName的标签
     * @param articleId
     * @param tagName
     * @return
     */
    int hasTheTag(Integer articleId,String tagName);

    List<VOTag> getAllTags();

    int removeBlogTag(Integer articleId, String tagName);

    int applyTag(Integer aid,Integer tid);

    int getTagIdByTagName(String tag);
}
